home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
DEV
/
I-Z
/
Xlisp_Source.cpt
/
xlglob.c
< prev
next >
Wrap
Text File
|
1985-01-27
|
2KB
|
63 lines
/* xlglobals - xlisp global variables */
#include "xlisp.h"
/* symbols */
NODE *true = NIL;
NODE *s_quote = NIL, *s_function = NIL;
NODE *s_bquote = NIL, *s_comma = NIL, *s_comat = NIL;
NODE *s_evalhook = NIL, *s_applyhook = NIL;
NODE *s_lambda = NIL, *s_macro = NIL;
NODE *s_stdin = NIL, *s_stdout = NIL;
NODE *s_tracenable = NIL, *s_tlimit = NIL, *s_breakenable = NIL;
NODE *s_continue = NIL, *s_quit = NIL;
NODE *s_car = NIL, *s_cdr = NIL;
NODE *s_get = NIL, *s_svalue = NIL, *s_splist = NIL;
NODE *s_eql = NIL, *k_test = NIL, *k_tnot = NIL;
NODE *k_optional = NIL, *k_rest = NIL, *k_aux = NIL;
NODE *a_subr = NIL, *a_fsubr = NIL;
NODE *a_list = NIL, *a_sym = NIL, *a_int = NIL;
NODE *a_str = NIL, *a_obj = NIL, *a_fptr = NIL;
NODE *oblist = NIL, *keylist = NIL, *s_unbound = NIL;
/* evaluation variables */
NODE *xlstack = NIL;
NODE *xlenv = NIL;
NODE *xlnewenv = NIL;
/* exception handling variables */
CONTEXT *xlcontext = NULL; /* current exception handler */
NODE *xlvalue = NIL; /* exception value */
/* debugging variables */
int xldebug = 0; /* debug level */
int xltrace = -1; /* trace stack pointer */
NODE **trace_stack = NULL; /* trace stack */
/* gensym variables */
char gsprefix[STRMAX+1] = { 'G',0 }; /* gensym prefix string */
int gsnumber = 1; /* gensym number */
/* i/o variables */
int xlplevel = 0; /* prompt nesting level */
int xlfsize = 0; /* flat size of current print call */
int prompt = TRUE; /* input prompt flag */
/* dynamic memory variables */
long total = 0L; /* total memory in use */
int anodes = 0; /* number of nodes to allocate */
int nnodes = 0; /* number of nodes allocated */
int nsegs = 0; /* number of segments allocated */
int nfree = 0; /* number of nodes free */
int gccalls = 0; /* number of gc calls */
struct segment *segs = NULL; /* list of allocated segments */
NODE *fnodes = NIL; /* list of free nodes */
/* object programming variables */
NODE *self = NIL, *class = NIL, *object = NIL;
NODE *new = NIL, *isnew = NIL, *msgcls = NIL, *msgclass = NIL;
int varcnt = 0;
/* general purpose string buffer */
char buf[STRMAX+1] = { 0 };